The present invention relates generally to the field of satellite position systems (SPS), such as global positioning system (GPS) receivers, and more particularly to processing of SPS signals.
Global Positioning System (GPS) receivers normally determine their position by computing times of arrival of signals transmitted simultaneously from a multiplicity of GPS (or NAVSTAR) satellites. These satellites transmit, as part of their message, both satellite positioning data as well as data on clock timing, so-called xe2x80x9cephemerisxe2x80x9d data. The process of searching for and acquiring GPS satellites, and reading the ephemeris data for a multiplicity of satellites and computing the location of the receiver from this data is time consuming, often requiring several minutes. In many cases, this lengthy processing time is unacceptable and, furthermore, greatly limits battery life in miniaturized portable applications.
GPS receiving systems have two principal functions. The first is the computation of the pseudoranges to the various GPS satellites, and the second is the computation of the position of the receiver using these pseudoranges and satellite timing and ephemeris data. The pseudoranges are simply the times of arrival of satellite signals measured by a local clock. This definition of pseudorange is sometimes also called code phase. The satellite ephemeris and timing data is extracted from the GPS signal once it is acquired and tracked. As stated above, collecting this information normally takes a relatively long time (18 seconds to several minutes) and must be accomplished with a good received signal level in order to achieve low error rates.
Most GPS receivers utilize correlation methods to compute pseudoranges. These correlation methods are performed in real time, often with hardware correlators. GPS signals contain high rate repetitive signals called pseudorandom (PN) sequences. The codes available for civilian applications are called coarse/acquisition (C/A) codes, and have a binary phase-reversal rate, or xe2x80x9cchippingxe2x80x9d rate, of 1.023 MHz and a repetition period of 1023 chips for a code period of 1 millisecond. The code sequences belong to a family known as Gold codes, and each GPS satellite broadcasts a signal with a unique Gold code.
For a signal received from a given GPS satellite, following a downconversion process to baseband, a correlation receiver multiplies the received signal by a stored replica of the appropriate Gold code contained within its local memory, and then integrates, or low-pass filters, the product in order to obtain an indication of the presence of the signal. This process is termed a xe2x80x9ccorrelationxe2x80x9d operation. By sequentially adjusting the relative timing of this stored replica relative to the received signal, and observing the correlation output, the receiver can determine the time delay between the received signal and a local clock. The initial determination of the presence of such an output is termed xe2x80x9cacquisition.xe2x80x9d Once acquisition occurs, the process enters the xe2x80x9ctrackingxe2x80x9d phase in which the timing of the local reference is adjusted in small amounts in order to maintain a high correlation output. The correlation output during the tracking phase may be viewed as the GPS signal with the pseudorandom code removed, or, in common terminology, xe2x80x9cdespread.xe2x80x9d This signal is narrow band, with a bandwidth commensurate with a 50 bit per second binary phase shift keyed (BPSK) data signal which is superimposed on the GPS waveform.
The correlation acquisition process is very time consuming, especially if received signals are weak. To improve acquisition time, most GPS receivers utilize a multiplicity of correlators which allows a parallel search for correlation peaks.
Conventional GPS receiving equipment is typically designed to receive GPS signals in open spaces since the satellite signals are line-of-sight and can thus be blocked by metal and other materials. Improved GPS receivers provide signal sensitivity that allows tracking GPS satellite signals indoors, or in the presence of weak multipath signals or signals that are pure reflections. The ability to acquire such weak GPS signals, however, typically causes other problems. For example, the simultaneous tracking of strong and weak signals may cause the receiver to lock on to a cross-correlated signal, which is not a true signal. Instead of finding a weak true peak, a stronger cross-correlated peak may be acquired. Tracking a weak satellite signal does not guarantee that it is a direct signal. This weak signal may be a reflected signal or a combination of direct and indirect signals. The combined signals are referred to as multipath signals. The path of the reflected signal is typically longer than the path of the direct signal. This difference in path length causes the time-of-arrival measurement of the reflected signal to be typically delayed or the corresponding code phase measurement to contain a positive bias. In general, the magnitude of the bias is proportional to the relative delay between the reflected and direct paths. The possible absence of a direct signal component makes the existing multipath mitigation techniques (such as a narrow correlator or a strobe correlator) obsolete.
The GPS navigation message is the information transmitted to a GPS receiver from a GPS satellite. It is in the form of the 50 bit per second data stream that is modulated on the GPS signals.
The data message is contained in a data frame that is 1500 bits long. It has five subframes each of which contains GPS system time. Each subframe consists of 10 words of 30 bits each. Subframes 1 through 3 are repeated every 30 seconds. There are twenty-five pages of data appearing in sequence in the fourth and fifth subframes; one every 30 seconds. Thus, each of these twenty-five pages repeats every 750 seconds.
Subframes 4 and 5 contain two types of health or status data for the GPS satellites: (a) each of the 32 pages which contain the clock/ephemeris related almanac data provide an eight-bit satellite health status word regarding the satellite whose almanac data they carry, and (b) the 25th page of subframe 4 and 5 jointly contain six-bit health status data for up to 32 satellites. Additional satellite health data are given in subframe 1. Subframe 1 is part of the ephemeris data set.
Typically, a GPS receiver will receive information concerning the status (e.g. xe2x80x9chealthxe2x80x9d) of a satellite and then process the GPS signals by not acquiring and not tracking unhealthy satellites while it acquires and tracks GPS signals from healthy satellites. Alternatively, standalone GPS receivers can be designed to acquire and track healthy and unhealthy satellites but avoid using unhealthy signals in the location computation after having read the health status data from the ephemeris message from an unhealthy satellite""s signal. No attempt has been made in the prior art to use the information concerning the health of a satellite in attempting to avoid using cross-correlation results or to detect such results. In addition, no attempt has been made to ensure that the satellite health status is made available to GPS receivers having no direct access to the satellite health status. (Direct access is from SPS satellites or from previously downloaded data from the SPS satellites).
A method is presently described for processing satellite position system (SPS) signals. The method includes receiving the SPS signals from in view SPS satellites and determining whether a first measurement, corresponding to a first SPS satellite which has been indicated to be a healthy satellite, is to be removed from a set of measurements to be used to solve for a position of a SPS receiver. This determining includes testing the first measurement for a cross-correlation resulting from signals from the first SPS satellite and signals from a second SPS satellite. In one embodiment, the signals from the first SPS satellite may be weaker than the signals from the unhealthy second SPS satellite.
In xe2x80x9cviewxe2x80x9d as used herein is defined broadly to mean SPS satellites in view of: a SPS reference receiver; a network of SPS reference receivers; a mobile SPS receiver; or a cell or a group of cells of a cellular radio system. However, these are merely provided as examples. Therefore, it should be noted that an SPS satellite may be considered to be xe2x80x9cin viewxe2x80x9d if the signals can be received by virtually any SPS receiver.
A computer readable medium containing executable computer program instructions is also disclosed. The computer medium causes the data processing system to perform a method for processing satellite positioning system (SPS) signals when the program instructions are executed by a data processing system. The method includes attempting to acquire SPS signals from all in view SPS satellites regardless of whether the in view SPS satellites are unhealthy, and receiving health data specifying which of the in view SPS satellites are unhealthy. The method includes testing measurements obtained from acquiring SPS signals, for all of the in view SPS satellites, for a cross-correlation between two different SPS satellites, where the testing is performed regardless of whether an in view SPS satellite is unhealthy.
A combined SPS receiver and communications system is also disclosed. In one embodiment, a satellite position system (SPS) reference receiver is configured to receive SPS signals from a plurality of in view SPS satellites. A server is configured to communicate with the SPS reference receiver. A transmitter coupled with the SPS reference receiver transmits the SPS signals. In one embodiment, the server analyzes the in view SPS satellite""s signals for a cross-correlation condition where a healthy SPS satellite""s signal is influenced by an unhealthy SPS satellite""s signal, the unhealthy SPS satellite""s signal(s) and the cross-correlated satellite""s signal(s) are then tested to determine if they should be removed, corrected, or used before a location is computed from the in view SPS satellites. The transmitter then optionally transmits the location.
Another embodiment of the disclosed apparatus includes a mobile SPS receiver coupled to a second receiver. The mobile SPS receiver receives the SPS signals from the transmitter on the second receiver and analyzes the in view SPS satellites for a cross-correlation condition where a healthy SPS satellite""s signal is influenced by an unhealthy SPS satellite""s signal, the unhealthy SPS satellite""s signal and the cross-correlated SPS satellite""s signal is removed or corrected before a location is computed from the in view SPS satellites by the mobile SPS receiver. In one embodiment, the transmitter and the second receiver is compatible with a cellular radio system.
In another embodiment, a computer readable medium containing executable computer program instructions performs a method for providing assistance data to a mobile satellite positioning system (SPS) receiver which is coupled to a receiver. The method may include determining a cell site or a group of cell sites which is in communication with the receiver. Health data is determined for each of a plurality of in view SPS satellites and the health data is transmitted to the receiver.